# coding=UTF-8
# Autor: Thiago Rodrigues Carvalho
# Criado em: 23/10/2014
# Atenção: Desenvolvido e testando em Python 3.4 (testes com Python 2.7 mostraram erro nas linhas de try/catch)
defeitos = [0,0,0,0]
total = 0
n = -1

while(n != 0):
    try:
        n=int(input("Qual a situação dos mouse? Números válidas como resposta: 1- necessita da esfera 2- necessita de limpeza 3- necessita troca do cabo ou conector 4- quebrado ou inutilizado:"))
  
    except ValueError:
        print ("O valor digitado não é um número. Nenhum valor será contabilizado.")
        n = -1
        
    if n < 0 or n > 4:
        print ("Respostas inválida. Seu voto não será contabilizado.")
    elif n != 0:
        defeitos[n - 1] += 1
        total += 1
        
print ("")
print ("Quantidade de mouses: " + str(total))
print ("")
print ("Situação                        Quantidade              Percentual")
print ("1- necessita da esfera                  " + str(defeitos[0]) + "                     " + str(round(defeitos[0]*100/total)) + "%")
print ("2- necessita de limpeza                 " + str(defeitos[1]) + "                     " + str(round(defeitos[1]*100/total)) + "%")
print ("3- necessita troca do cabo ou conector  " + str(defeitos[2]) + "                     " + str(round(defeitos[2]*100/total)) + "%")
print ("4- quebrado ou inutilizado              " + str(defeitos[3]) + "                     " + str(round(defeitos[3]*100/total)) + "%")
print ("")